/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ufps.cuatro.modelo.asistente.clase.compleja;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import com.ufps.cuatro.modelo.analizador.ObjetoReflexion;
import com.ufps.cuatro.modelo.representacion.ObjetoTipoDatoReflexion;
import com.ufps.cuatro.util.wizard.ObjectTempSwapWizard;
import com.ufps.cuatro.util.wizard.UtilWizard;
import com.ufps.cuatro.util.wizard.WizardPanelDescriptor;

/**
 *
 * @author Carlos A. Torres C. 
 */
public abstract class JPanelWizardClaseComplejaCustomPropertiesFinishDescriptor extends WizardPanelDescriptor implements ActionListener {    
    
    protected ArrayList<ObjetoReflexion> objPropiedadesAgregadas;
    protected ObjetoTipoDatoReflexion objTipoDato;    
    
    public JPanelWizardClaseComplejaCustomPropertiesFinishDescriptor(ObjetoTipoDatoReflexion objTipoDato) {
        this.objTipoDato = objTipoDato;        
    }        
    
    
    @Override
    public void aboutToDisplayPanel() {
        setNextButtonAccordingToCheckBox();
    }    
    
    public void actionPerformed(ActionEvent e) {
        setNextButtonAccordingToCheckBox();
    }            
    
    protected abstract void setNextButtonAccordingToCheckBox();
    
    protected void procesarConfiguracion() {   
      try{
            ObjectTempSwapWizard objSwap = new ObjectTempSwapWizard(UtilWizard.WIZARD_CLASS); 
            objSwap.setObj(objTipoDato);
            objSwap.add(ObjectTempSwapWizard.COLECCION, objPropiedadesAgregadas);
            UtilWizard.objTempSwap = objSwap;
            System.out.println("Configuración Procesada en el Objeto de Intercambio....");
        }catch(java.lang.NullPointerException ex){}
    }
}